{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "95f0a171",
   "metadata": {},
   "source": [
    "(whole-game)=\n",
    "# Whole Game\n",
    "\n",
    "Our goal in this part of the book is to give you a rapid overview of the main tools of data science: importing, cleaning, transforming, and visualising data, as shown in the figure below. We want to show you the “whole game” of data science giving you just enough of all the major pieces so that you can tackle real, if simple, datasets. The later parts of the book will hit each of these topics in more depth, increasing the range of data science challenges that you can tackle."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "51a55374",
   "metadata": {
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [],
   "source": [
    "import matplotlib_inline.backend_inline\n",
    "\n",
    "matplotlib_inline.backend_inline.set_matplotlib_formats(\"svg\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "209ef434",
   "metadata": {
    "tags": [
     "remove-input"
    ]
   },
   "outputs": [],
   "source": [
    "# remove-input\n",
    "import graphviz\n",
    "\n",
    "dot = graphviz.Digraph(comment=\"Data science workflow\")\n",
    "dot.attr(compound=\"true\")\n",
    "dot.edge(\"Import\", \"Clean\")\n",
    "\n",
    "with dot.subgraph(name=\"cluster_0\") as c:\n",
    "    c.attr(style=\"filled\", color=\"lightgrey\")\n",
    "    c.node_attr.update(style=\"filled\", color=\"white\")\n",
    "    c.edges(\n",
    "        [(\"Visualise\", \"Analyse\"), (\"Analyse\", \"Transform\"), (\"Transform\", \"Visualise\")]\n",
    "    )\n",
    "    c.attr(label=\"Understand\")\n",
    "\n",
    "dot.edge(\"Clean\", \"Analyse\", lhead=\"cluster_0\")\n",
    "\n",
    "dot.edge(\"Analyse\", \"Communicate\", ltail=\"cluster_0\")\n",
    "\n",
    "dot"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "e96aa125",
   "metadata": {},
   "source": [
    "After this chapter, we have four main chapters that focus on the tools of data science:\n",
    "\n",
    "- Visualisation is a great place to start with Python programming because the pay-off is so clear: you get to make elegant and informative plots that help you understand data. In {ref}`data-visualise`, you’ll dive into visualisation, learning the basic structure of a plot, and powerful techniques for turning data into plots.\n",
    "- Visualisation alone is typically not enough, so in {ref}`data-transform`, you’ll learn the key verbs that allow you to select important variables, filter out key observations, create new variables, and compute summaries.\n",
    "- In {ref}`data-tidy`, you’ll learn about cleaning data and specifically \"tidy\" data, a consistent way of storing tabular data that makes transformation, visualisation, and modelling easier. You’ll learn the underlying principles, and how to get your data into a \"tidy\" format.\n",
    "- Before you can transform and visualise your data, you need to first get your data into a Python session. In {ref}`data-import` you’ll learn the basics of getting .csv files into your Python session.\n",
    "\n",
    "These are interspersed with four other chapters that focus on your Python workflow:\n",
    "\n",
    "- In {ref}`workflow-basics`, {ref}`workflow-style`, and {ref}`workflow-writing-code`, you'll learn good workflow practices for writing and organising your code.\n",
    "- In {ref}`workflow-packages-and-environments`, you'll learn more about packages and isolating your projects in separate code environments.\n",
    "\n",
    "Finally, {ref}`workflow-help` contains some short advice on how to get help and keep learning."
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "9d7534ecd9fbc7d385378f8400cf4d6cb9c6175408a574f1c99c5269f08771cc"
  },
  "jupytext": {
   "cell_metadata_filter": "-all",
   "encoding": "# -*- coding: utf-8 -*-",
   "formats": "md:myst",
   "main_language": "python"
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.12"
  },
  "toc-showtags": true
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
